\hypertarget{classpg_primitive_cube}{\section{pg\-Primitive\-Cube Class Reference}
\label{classpg_primitive_cube}\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}}
}


{\ttfamily \#include $<$pg\-Primitive\-Cube.\-h$>$}

Inheritance diagram for pg\-Primitive\-Cube\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classpg_primitive_cube}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classpg_primitive_cube_abff1c0eb22c69117dc484d914fe7b108}{pg\-Primitive\-Cube} ()
\item 
\hyperlink{classpg_primitive_cube_af611e78a4418dac4bc01d9e16b63063e}{$\sim$pg\-Primitive\-Cube} ()
\item 
bool \hyperlink{classpg_primitive_cube_a3231d83c2a689104b60887a1424989d4}{Load} (const char $\ast$sz\-File\-Path)
\begin{DoxyCompactList}\small\item\em Loads a mesh from the specified filepath. \end{DoxyCompactList}\item 
bool \hyperlink{classpg_primitive_cube_a7f3966bb05ba1fd8eb7420200c818ae6}{Load} ()
\begin{DoxyCompactList}\small\item\em Used for primitive derived objects. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{Render} ()
\begin{DoxyCompactList}\small\item\em This function needs to take care of rendering the object. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_cube_a03b221ea37fdd7f0b647255a32822598}{Pre\-Render} ()
\begin{DoxyCompactList}\small\item\em Called immmediately before \hyperlink{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{Render()}. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_cube_a8135664cb28bb45001bc0143a4dc8c47}{Post\-Render} ()
\begin{DoxyCompactList}\small\item\em Called immediately after \hyperlink{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{Render()}. \end{DoxyCompactList}\item 
X\-M\-M\-A\-T\-R\-I\-X \hyperlink{classpg_primitive_cube_af685031c1b657bb9b89d34ab47d3f795}{Get\-World\-Transform\-Matrix} ()
\item 
void \hyperlink{classpg_primitive_cube_a1fb52b00d40fb1d1465a8e6e3faf706e}{Set\-World\-Transform\-Matrix} (X\-M\-M\-A\-T\-R\-I\-X mat)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_cube_abaab5384696ee1f5d244919f238c40c0}{m\-\_\-p\-Vertex\-Buffer}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_cube_adeeedcb5a8ca3ded1eb300f961deccdd}{m\-\_\-p\-Index\-Buffer}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_cube_abe5094ac908f079053188ec0e0551b47}{m\-\_\-p\-Constant\-Buffer}
\item 
X\-M\-M\-A\-T\-R\-I\-X \hyperlink{classpg_primitive_cube_a9a5ae61a950544bfe93c19a22ef12e07}{m\-\_\-world\-Transform\-Matrix}
\item 
int \hyperlink{classpg_primitive_cube_abf35af382d33cc6b93193013b54698ef}{m\-\_\-n\-Index\-Count}
\item 
int \hyperlink{classpg_primitive_cube_a8ba8be857cae3d4bed9a03e15164e19d}{m\-\_\-n\-Vertex\-Count}
\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classpg_primitive_cube_abff1c0eb22c69117dc484d914fe7b108}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!pg\-Primitive\-Cube@{pg\-Primitive\-Cube}}
\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{pg\-Primitive\-Cube}]{\setlength{\rightskip}{0pt plus 5cm}pg\-Primitive\-Cube\-::pg\-Primitive\-Cube (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classpg_primitive_cube_abff1c0eb22c69117dc484d914fe7b108}
\hypertarget{classpg_primitive_cube_af611e78a4418dac4bc01d9e16b63063e}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!$\sim$pg\-Primitive\-Cube@{$\sim$pg\-Primitive\-Cube}}
\index{$\sim$pg\-Primitive\-Cube@{$\sim$pg\-Primitive\-Cube}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{$\sim$pg\-Primitive\-Cube}]{\setlength{\rightskip}{0pt plus 5cm}pg\-Primitive\-Cube\-::$\sim$pg\-Primitive\-Cube (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classpg_primitive_cube_af611e78a4418dac4bc01d9e16b63063e}


\subsection{Member Function Documentation}
\hypertarget{classpg_primitive_cube_af685031c1b657bb9b89d34ab47d3f795}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Get\-World\-Transform\-Matrix@{Get\-World\-Transform\-Matrix}}
\index{Get\-World\-Transform\-Matrix@{Get\-World\-Transform\-Matrix}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Get\-World\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}X\-M\-M\-A\-T\-R\-I\-X pg\-Primitive\-Cube\-::\-Get\-World\-Transform\-Matrix (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_cube_af685031c1b657bb9b89d34ab47d3f795}


Implements \hyperlink{class_i_renderable_object_a9eb9acb43b22ec1a60b570630afaebf5}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a3231d83c2a689104b60887a1424989d4}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Load@{Load}}
\index{Load@{Load}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Load}]{\setlength{\rightskip}{0pt plus 5cm}bool pg\-Primitive\-Cube\-::\-Load (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{sz\-File\-Path}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_cube_a3231d83c2a689104b60887a1424989d4}


Loads a mesh from the specified filepath. 

The format is chosen by the extension 
\begin{DoxyParams}{Parameters}
{\em sz\-File\-Path} & Path to the mesh file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success 
\end{DoxyReturn}


Implements \hyperlink{class_i_renderable_object_a69fb217e1529b5ae33107d256f20f9e9}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a7f3966bb05ba1fd8eb7420200c818ae6}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Load@{Load}}
\index{Load@{Load}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Load}]{\setlength{\rightskip}{0pt plus 5cm}bool pg\-Primitive\-Cube\-::\-Load (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_cube_a7f3966bb05ba1fd8eb7420200c818ae6}


Used for primitive derived objects. 



Implements \hyperlink{class_i_renderable_object_a527206d091af2f65837cd7bb83a7ddcb}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a8135664cb28bb45001bc0143a4dc8c47}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Post\-Render@{Post\-Render}}
\index{Post\-Render@{Post\-Render}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Post\-Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Cube\-::\-Post\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_cube_a8135664cb28bb45001bc0143a4dc8c47}


Called immediately after \hyperlink{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{Render()}. 



Implements \hyperlink{class_i_renderable_object_acc15b8342715b37a63cbfe65d1f28301}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a03b221ea37fdd7f0b647255a32822598}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Pre\-Render@{Pre\-Render}}
\index{Pre\-Render@{Pre\-Render}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Pre\-Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Cube\-::\-Pre\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_cube_a03b221ea37fdd7f0b647255a32822598}


Called immmediately before \hyperlink{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{Render()}. 



Implements \hyperlink{class_i_renderable_object_a17f8490e4248b2e86f80c096eb8b5061}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Render@{Render}}
\index{Render@{Render}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Cube\-::\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_cube_a450666fe0d2441c32a2de007bce5b30d}


This function needs to take care of rendering the object. 

Setting up data relevant to rendering should be performed in \hyperlink{classpg_primitive_cube_a03b221ea37fdd7f0b647255a32822598}{Pre\-Render()}. 

Implements \hyperlink{class_i_renderable_object_a1137c257fc196fda57f81d9e8a08a40f}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_cube_a1fb52b00d40fb1d1465a8e6e3faf706e}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!Set\-World\-Transform\-Matrix@{Set\-World\-Transform\-Matrix}}
\index{Set\-World\-Transform\-Matrix@{Set\-World\-Transform\-Matrix}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{Set\-World\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Cube\-::\-Set\-World\-Transform\-Matrix (
\begin{DoxyParamCaption}
\item[{X\-M\-M\-A\-T\-R\-I\-X}]{mat}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_cube_a1fb52b00d40fb1d1465a8e6e3faf706e}


Implements \hyperlink{class_i_renderable_object_a001ef1f9df8f5ff46f25b16b5e4f1538}{I\-Renderable\-Object}.



\subsection{Member Data Documentation}
\hypertarget{classpg_primitive_cube_abf35af382d33cc6b93193013b54698ef}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-n\-Index\-Count@{m\-\_\-n\-Index\-Count}}
\index{m\-\_\-n\-Index\-Count@{m\-\_\-n\-Index\-Count}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-n\-Index\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int pg\-Primitive\-Cube\-::m\-\_\-n\-Index\-Count\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_abf35af382d33cc6b93193013b54698ef}
\hypertarget{classpg_primitive_cube_a8ba8be857cae3d4bed9a03e15164e19d}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-n\-Vertex\-Count@{m\-\_\-n\-Vertex\-Count}}
\index{m\-\_\-n\-Vertex\-Count@{m\-\_\-n\-Vertex\-Count}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-n\-Vertex\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int pg\-Primitive\-Cube\-::m\-\_\-n\-Vertex\-Count\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_a8ba8be857cae3d4bed9a03e15164e19d}
\hypertarget{classpg_primitive_cube_abe5094ac908f079053188ec0e0551b47}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-p\-Constant\-Buffer@{m\-\_\-p\-Constant\-Buffer}}
\index{m\-\_\-p\-Constant\-Buffer@{m\-\_\-p\-Constant\-Buffer}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-p\-Constant\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Cube\-::m\-\_\-p\-Constant\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_abe5094ac908f079053188ec0e0551b47}
\hypertarget{classpg_primitive_cube_adeeedcb5a8ca3ded1eb300f961deccdd}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-p\-Index\-Buffer@{m\-\_\-p\-Index\-Buffer}}
\index{m\-\_\-p\-Index\-Buffer@{m\-\_\-p\-Index\-Buffer}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-p\-Index\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Cube\-::m\-\_\-p\-Index\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_adeeedcb5a8ca3ded1eb300f961deccdd}
\hypertarget{classpg_primitive_cube_abaab5384696ee1f5d244919f238c40c0}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-p\-Vertex\-Buffer@{m\-\_\-p\-Vertex\-Buffer}}
\index{m\-\_\-p\-Vertex\-Buffer@{m\-\_\-p\-Vertex\-Buffer}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-p\-Vertex\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Cube\-::m\-\_\-p\-Vertex\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_abaab5384696ee1f5d244919f238c40c0}
\hypertarget{classpg_primitive_cube_a9a5ae61a950544bfe93c19a22ef12e07}{\index{pg\-Primitive\-Cube@{pg\-Primitive\-Cube}!m\-\_\-world\-Transform\-Matrix@{m\-\_\-world\-Transform\-Matrix}}
\index{m\-\_\-world\-Transform\-Matrix@{m\-\_\-world\-Transform\-Matrix}!pgPrimitiveCube@{pg\-Primitive\-Cube}}
\subsubsection[{m\-\_\-world\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}X\-M\-M\-A\-T\-R\-I\-X pg\-Primitive\-Cube\-::m\-\_\-world\-Transform\-Matrix\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_cube_a9a5ae61a950544bfe93c19a22ef12e07}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Inc/\hyperlink{pg_primitive_cube_8h}{pg\-Primitive\-Cube.\-h}\item 
Source/\hyperlink{pg_primitive_cube_8cpp}{pg\-Primitive\-Cube.\-cpp}\end{DoxyCompactItemize}
